Field
This disclosure provides techniques for simulating and rendering granular materials. More specifically, aspects of this disclosure present a material point method for simulation of granular materials.
Description of the Related Art
In physics engines, “solvers” are used to simulate physical behavior of objects (e.g., the physical response of an object to a collision with another object). These solvers typically employ numerical techniques to approximate the physics so that simulations can be efficiently performed on a computer. Specialized solvers have been used to simulate a variety of phenomena in graphics and computational physics. Such solvers include fluid simulators, rigid body simulators, and cloth simulators, among others, each of which is suited to simulating behavior of a particular type of material. For example, fluid simulators are suited for simulating liquids which deform with no memory, while rigid body simulators are suited for simulating destruction and debris where there is no deformation (e.g., glass shattering). When solids and fluids are needed simultaneously, two-way coupled systems have been used to obtain accuracy and performance for both phenomena.
Granular materials (e.g., snow, sand, dust, etc.) can have continuously varying phase effects, i.e., these materials sometimes behave as a rigid/deforming solid and sometimes as a fluid. Traditional solvers and coupled systems are unable to simultaneously handle a continuum of material properties efficiently to simulate the behavior of such granular materials. For example, to simulate snow, artists typically mix various simulation techniques intended for other phenomena. This process can be error-prone, time consuming, and typically does not produce good results.